<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 预编译
        //    1 提升var
        //    2 提升具名函数


        // 函数内部也有预编译


        // 函数名和变量名重复的时候，会覆盖


        // 变量如果没有var  会提升为全局变量  但是注意先后顺序




        console.log(a) ;

        var a = 5 ;

        a++ ;

        var b = 5 ;

        function fo() {
            console.log(a) ;

            a++ ;

            var a = 7 ;

            console.log(a) ;

            b++ ;

            c = 10 ;
        }

        console.log(b) ;

        console.log(a) ;

        // console.log(c) ;

        fo() ;

        console.log(b) ;

        console.log(c) ;

        // a() ;    

        function a() {
            c++ ;
        }

        console.log(a) ;





    </script>
    
</body>
</html>